fix: consolidated security + deps + SHA pins (April 2026)#205
Conversation
|
|
Agent-Logs-Url: https://github.com/DavidKRK/DavidKRK.github.io/sessions/7ce31d8d-af7f-4fdd-b453-4a6a08f90e49 Co-authored-by: DavidKRK <136035295+DavidKRK@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Consolidates multiple workflow/security/dependency updates for the gh-pages branch, primarily to fix failing GitHub Actions runs and improve supply-chain safety via SHA pinning.
Changes:
- Fixes
security.ymlCodeQL configuration (matrix + branch triggers) and ensures full-history checkout where required. - SHA-pins key GitHub Actions dependencies across workflows (checkout, github-script, create-github-app-token, run-gemini-cli) and bumps maintenance actions (gh-release v3, stale v10).
- Adds MIT
LICENSEand expands.gitignorewith standard patterns.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| LICENSE | Adds MIT license file for the repository. |
| .gitignore | Replaces minimal/incorrect ignore list with standard ignores (deps, OS, editor, build outputs, env files). |
| .github/workflows/security.yml | Fixes triggers for gh-pages, removes actions from CodeQL matrix, pins checkout and sets fetch-depth: 0. |
| .github/workflows/lighthouse.yml | Pins checkout/github-script to SHA; workflow logic unchanged. |
| .github/workflows/maintenance.yml | Pins checkout/github-script and bumps gh-release to v3; bumps actions/stale to v10. |
| .github/workflows/uptime.yml | Pins checkout and github-script to SHAs. |
| .github/workflows/social-media-post.yml | Pins checkout to SHA. |
| .github/workflows/youtube-section-update.yml | Pins checkout to SHA. |
| .github/workflows/images.yml | Pins checkout to SHA. |
| .github/workflows/jekyll.yml | Pins checkout to SHA. |
| .github/workflows/music-social.yml | Pins checkout/github-script to specific SHAs while keeping v4/v7 as required. |
| .github/workflows/gemini-pr-review.yml | Pins create-github-app-token/github-script and SHA-pins run-gemini-cli. |
| .github/workflows/gemini-issue-scheduled-triage.yml | Pins create-github-app-token/github-script and SHA-pins run-gemini-cli. |
| .github/workflows/gemini-issue-automated-triage.yml | Pins create-github-app-token/github-script and SHA-pins run-gemini-cli. |
| .github/workflows/gemini-cli.yml | Pins create-github-app-token to v3 SHA. |
| .github/workflows/codeql.yml | Pins checkout to SHA (workflow otherwise unchanged). |
Comments suppressed due to low confidence (1)
.github/workflows/lighthouse.yml:33
- Les commentaires ici indiquent un seuil Performance à
minScore 0.6/ 60/100, alors que.lighthouserc.jsonest configuré àminScore: 0.5. Pour éviter de diagnostiquer de faux écarts (et puisque le corps de l’issue créée plus bas parle aussi de 60/100), il faut aligner la doc/texte généré avec la valeur réelle (0.5 / 50/100) ou ajuster.lighthouserc.jsonsi 0.6 est bien le seuil attendu.
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# Lancer l'audit Lighthouse sur les pages principales du site
# Les seuils sont définis dans .lighthouserc.json :
# - Performance : échec sous 60/100 (`error`, minScore 0.6)
# - SEO : échec sous 85/100 (`error`, minScore 0.85)
# Le workflow échoue si un de ces seuils n'est pas atteint.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # et les fermer automatiquement après 7 jours supplémentaires | ||
| - name: Gérer les issues et PR inactives | ||
| uses: actions/stale@v9 | ||
| uses: actions/stale@v10 |
There was a problem hiding this comment.
actions/stale@v10 est laissé sur un tag flottant, alors que le reste des actions du workflow est SHA-pin (checkout, github-script, lychee, gh-release). Pour réduire le risque supply-chain et rester cohérent, épinglez aussi actions/stale sur le SHA du release v10 utilisé (et gardez un commentaire de version si besoin).
| uses: actions/stale@v10 | |
| uses: actions/stale@c7ee4bb7fa9e1923e38d45e1020c8b2c7b1f5fca # v10 |
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||
|
|
There was a problem hiding this comment.
Ce workflow codeql.yml exécute déjà CodeQL sur gh-pages (avec une matrice incluant notamment actions), alors que security.yml lance aussi CodeQL sur les mêmes événements. Cela peut entraîner des runs/alertes en double et rend plus difficile le diagnostic du problème mentionné sur la matrice actions. Envisagez de consolider vers un seul workflow CodeQL (ou de différencier clairement les triggers / matrices entre les deux).
Two workflows were failing (
security.ymlCodeQL matrix config,lighthouse.ymlthreshold) and 7 open dependency PRs needed consolidation. All changes are squashed into a single branch targetinggh-pages.Workflow fixes
security.ymlactionslanguage from CodeQL matrix (caused analysis failures on this repo type)gh-pagestopushtrigger (repo default branch; was onlymain)fetch-depth: 0to CodeQL checkout stepactions/checkout→ v6 SHA-pinned.lighthouserc.json— performance threshold already at0.5ongh-pages; no change neededSHA pinning
gemini-pr-review.yml: floatedrun-gemini-cli@v0.1.10→ SHA-pinned:music-social.yml: both floating tags pinned to exact SHAs (kept at v4/v7 per spec):Dependency PRs incorporated
gemini-cli.yml: SHA-pinrun-gemini-cli; complete.gitignore; add MITLICENSE.gitignorecleanup (content superseded by #204)softprops/action-gh-releasev2→v3.0.0 (Node 24) inmaintenance.ymlactions/stalev9→v10 (Node 24) inmaintenance.ymlactions/create-github-app-tokenSHA v2→v3 across 4 workflow filesactions/checkoutv4→v6 SHA-pinned (de0fac2e…) across 9 workflow filesactions/github-scriptv7→v9 SHA-pinned (3a2844b7…) across 6 workflow filesCleanup
index.phpat root (already removed in priorgh-pagescommit)music-social.ymlintentionally stays at SHA-pinned v4/v7 per explicit spec requirement, diverging from other files updated to v6/v9Original prompt
Create a consolidated pull request on branch
copilot-fix-april2026targetinggh-pageswith the following changes:Fix failing workflows:
.lighthouserc.jsonso Lighthouse performance threshold is lowered from0.7to0.5..github/workflows/security.ymlby adjusting the CodeQL/Gitleaks setup as needed (language matrix orfetch-depth/ checkout behavior) so the workflow runs successfully.Incorporate the requested dependency PRs into this consolidated branch:
gh-pagesand tested for Node 24 compatibility.SHA-pin workflows:
.github/workflows/gemini-pr-review.yml, pingoogle-github-actions/run-gemini-clito06123c6a203eb7a964ce3be7c48479cc66059f23..github/workflows/music-social.yml, replace floating versions with exact SHA pins foractions/checkout@v4andactions/github-script@v7using the exact commit SHAs resolved from the repository’s supported action releases.Remove any residual
index.phpat the repository root if it exists.Ensure the resulting branch is suitable for automatic review and that the PR is assigned for review automation using the repository’s Gemini review workflow.
Acceptance criteria:
index.phpremains at the root if present.The following is the prior conversation context from the user's chat exploration (may be truncated):
User: @copilot
Audit + Fix workflows failing + 7 PRs
Analyse les 2 workflows en échec :
Audit des 7 PRs ouvertes :
Crée 1 PR consolidée :
Assigne-toi pour review automatique de cette PR.
Exécute maintenant.
Assistant: Voici l’état de l’audit, en français et de façon directe.
1) Workflows en échec
lighthouse.ymlJ’ai identifié le workflow et sa config. Il utilise Lighthouse CI sur plusieurs URLs, avec des seuils définis dans
.lighthouserc.json, et déclenche une issue quand les scores sont trop bas.Cause la plus probable de l’échec :
🔦 Lighthouse CI - Performance & SEOest en échec sur plusieurs commits récents, notamment après des changements de dépendances et de contenu.lighthouse.ymlest bien structuré ; l’échec ressemble à un failing audit (performance/seo) plutôt qu’à un crash de workflow.Fix recommandé :
.lighthouserc.jsonsi le site réel ne peut pas les atteindre.font-display,Source du workflow :
https://github.com/DavidKRK/DavidKRK.github.io/blob/gh-pages/.github/workflows/lighthouse.ymlsecurity.ymlLe workflow exécute CodeQL + Gitleaks.
Le fichier est valide côté structure.
Cause la plus probable de l’échec :
fetch-depth: 0).Fix recommandé :
codeql-action/init,codeql-action/analyze,gitleaks-action.Source du workflow :
https://github.com/DavidKRK/DavidKRK.github.io/blob/gh-pages/.github/workflows/security.yml2) Audit des 7 PR ouvertes
J’ai retrouvé les 7 PR ouvertes.
Important : la réponse GitHub fournie ne m’a pas donné les champs
mergeable/ conflits pour chacune, donc je ne peux pas confirmer ces deux points de manière fiable sans un second appel ciblé par PR. En revanche je peux déjà faire la recommandation opérationnelle à partir du contenu.###...
This pull request was created from Copilot chat.